'''
Author: LHY 2601958675@qq.com
Date: 2023-06-29 14:52:27
LastEditors: LHY
LastEditTime: 2023-06-29 15:39:44
Description: 
'''
import re

res  = re.findall("a","我是一个abcdefg")
print(res)

res2  = re.findall(r"\d+","我是一个abcdefg123我有299931232142341块")
print(res2)

# 这是重点 
res3  = re.finditer(r"\d+","我是一个abcdefg123我有299931232142341块")
for item in res3:
    print(f"item.group()={item.group()}")

# search只会匹配到第一次内容
re4 =  re.search(r"\d+","我叫周杰伦，今年32 ，是3年2班的")
print(f"re4.group()={re4.group()}")

# match匹配 是从字符串开头进行匹配    类似 ^
re5 =  re.match(r"\d+","3我叫周杰伦，今年32 ，是3年2班的")
print(f"re5.group()={re5.group()}")


#预加载
# for item in xxx:提前吧正则对象加载完毕
obj = re.compile(r'\d+')

re6 = obj.findall("3我叫周杰伦，今年32 ，是3年2班的")
print(f're6={re6}')

# 想提取数据必须用（） 可以单独起名字 (?P<名字>正则)
s = """
<div class = '西游记'><span id ='10010'>中国联通</span></div>
"""
obj1 = re.compile(r"<span id ='(?P<id>\d+)'>(?P<name>.*?)</span>")
res7 = obj1.finditer(s)
for item in res7:
    print(item.group("id"))
    print(item.group())
    print(item.group("name"))